<?php

namespace Proyecto\MainBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;

/**
 * Elemento
 *
 * @ORM\Table(name="elemento")
 * @ORM\Entity
 */
class Elemento
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    private $id;

    /**
     * @var integer
     *
     * @ORM\Column(name="estilo", type="integer", nullable=false)
     * 
     * @Assert\NotBlank()
     */
    private $estilo;

    /**
     * @var string
     *
     * @ORM\Column(name="tipo", type="string", length=50, nullable=false)
     * 
     */
    private $tipo;

    /**
     * @var string
     *
     * @ORM\Column(name="valor", type="string", length=100, nullable=false)
     */
    private $valor;

    /**
     * @var integer
     *
     * @ORM\Column(name="orden", type="integer", nullable=false)
     */
    private $orden;

    /**
     * @var \Plantilla
     *
     * @ORM\ManyToOne(targetEntity="Plantilla")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="plantilla", referencedColumnName="id")
     * })
     */
    private $plantilla;

   /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set estilo
     *
     * @param integer $estilo
     * @return Elemento
     */
    public function setEstilo($estilo)
    {
        $this->estilo = $estilo;
    
        return $this;
    }

    /**
     * Get estilo
     *
     * @return integer 
     */
    public function getEstilo()
    {
        return $this->estilo;
    }

    /**
     * Set tipo
     *
     * @param string $tipo
     * @return Elemento
     */
    public function setTipo($tipo)
    {
        $this->tipo = $tipo;
    
        return $this;
    }

    /**
     * Get tipo
     *
     * @return string 
     */
    public function getTipo()
    {
        return $this->tipo;
    }

    /**
     * Set valor
     *
     * @param string $valor
     * @return Elemento
     */
    public function setValor($valor)
    {
        $this->valor = $valor;
    
        return $this;
    }

    /**
     * Get valor
     *
     * @return string 
     */
    public function getValor()
    {
        return $this->valor;
    }

    /**
     * Set orden
     *
     * @param integer $orden
     * @return Elemento
     */
    public function setOrden($orden)
    {
        $this->orden = $orden;
    
        return $this;
    }

    /**
     * Get orden
     *
     * @return integer 
     */
    public function getOrden()
    {
        return $this->orden;
    }

    /**
     * Set plantilla
     *
     * @param \Proyecto\MainBundle\Entity\Plantilla $plantilla
     * @return Elemento
     */
    public function setPlantilla(\Proyecto\MainBundle\Entity\Plantilla $plantilla = null)
    {
        $this->plantilla = $plantilla;
    
        return $this;
    }

    /**
     * Get plantilla
     *
     * @return \Proyecto\MainBundle\Entity\Plantilla 
     */
    public function getPlantilla()
    {
        return $this->plantilla;
    }
    
    public function getValorCompuesto()
    {
        return array('tipo' => $this->getTipo(), 'valor' => $this->getValor());
    }
    
}